Patch permet d'appliquer un patch obtenu au moyen d'un diff (svn diff, git diff, …)
Il suffit d'installer le paquet patch.
ho ho Merci
HACkE
ń
==== Patcher un dossier ====
L'utilisation de l'outil patch se fait en ligne de commande. La syntaxe est la suivante :
patch -p0 < mon.patch
Ceci appliquera le patch "mon.patch" dans le répertoire courant.
-p0 indique que nous prenons les paths du patch en entier.
Par exemple :
+++ monProjet/test.c
va appliquer ce patch dans le sous répertoire monProjet sur le fichier test.c.
Si nous avions spécifié -p1 il aurait cherché test.c à la racine de notre répertoire courant.
==== Patcher tous les fichiers indiqués par le patch ====
patch < mon.patch
==== Patcher explicitement un seul fichier ====
patch monfichier.truc < mon.patch
==== Patcher en mode verbeux sans appliquer réellement le patch ====
patch –verbose –dry-run < mon.patch
==== Retour arrière sur un passage de patch ====
patch –reverse < mon.patch
==== Application d'un patch avec conservation des permissions ====
<note warning>Attention: La commande patch ne preserve pas les permissions, mais les positionne en 644, cela est important notamment lorsqu'on patch un fichier dans /etc/grub.d/ par exemple.
</note>
Pour préserver les permissions, il faut utiliser l'option —-backup et ensuite faire un chmod —-reference**, exemple :
cd /etc/grub.d/ && patch --backup -p3 00_header_754921.patch chmod --reference=00_header.orig 00_header
—- Contributeurs: dufoli